/**
 * @param {number} n
 * @param {number[][]} reservedSeats
 * @return {number}
 */
///////正常解法会超时
/////因为一排最多可以安排2组家庭，n排则可以安排2 * n组
// var maxNumberOfFamilies = function(n, reservedSeats) {
//     let sum = 2 * n;
//     ///4人连坐的情况
//     let LEFT = 1;
//     let RIGHT = 2;
//     let CENTER = 3;
//     let LEFT_OR_CENTER = 4;
//     let RIGHT_OR_CETER = 5;
//     let OTHER = 0;
//     let array = [];
//     while(reservedSeats.length > 0) {
//         let [x, y] = reservedSeats.pop();
//         if (y === 1 || y === 10) {

//         } else {
//             if (array[x] === undefined) {
//                 if (y === 2 || y === 3) {
//                     array[x] = RIGHT_OR_CETER;
//                     sum--;
//                 } else if (y === 4 || y === 5) {
//                     array[x] = RIGHT;
//                     sum--;
//                 } else if (y === 6 || y === 7) {
//                     array[x] = LEFT;
//                     sum--;
//                 } else if (y === 8 || y === 9) {
//                     array[x] = LEFT_OR_CENTER;
//                     sum--;
//                 }
//             } else if(array[x] === RIGHT_OR_CETER) {
//                 if (y === 4 || y === 5) {
//                     array[x] = RIGHT;
//                 } else if (y === 6 || y === 7) {
//                     array[x] = OTHER;
//                     sum--;
//                 } else if (y === 8 || y === 9) {
//                     array[x] = CENTER;
//                 }
//             } else if(array[x] === RIGHT) {
//                 if (y === 6 || y === 7 || y === 8 || y === 9) {
//                     array[x] = OTHER;
//                     sum--;
//                 } 
//             } else if(array[x] === LEFT) {
//                 if (y === 2 || y === 3 || y === 4 || y === 5) {
//                     array[x] = OTHER;
//                     sum--;
//                 }
//             } else if(array[x] === CENTER) {
//                 if (y === 4 || y === 5 || y === 6 || y === 7) {
//                     array[x] = OTHER;
//                     sum--;
//                 }
//             } else if(array[x] === LEFT_OR_CENTER) {
//                 if (y === 2 || y === 3) {
//                     array[x] = CENTER;
//                 } else if (y === 4 || y === 5) {
//                     array[x] = OTHER;
//                     sum--;
//                 } else if (y === 6 || y === 7) {
//                     array[x] = LEFT;
//                 }
//             }
//         }
//     }
//     return sum;
// };
var maxNumberOfFamilies = function(n, reservedSeats) {
    ///先把已经占的位置保存到map中
    let result = 0;
    let seatsMap = new Map();
    for(let i = 0; i < reservedSeats.length; i++) {
        let v = [];
        let seat = reservedSeats[i];
        if (!seatsMap.get(seat[0])) {
            v.push(seat[1]);
        } else {
            v = seatsMap.get(seat[0]);
            v.push(seat[1]);
        }
        seatsMap.set(seat[0], v);
    }
    seatsMap.forEach((value, key, seatsMap)=>{
        let res = [0]
        for(let i = 1; i <= 10; i++) {
            if (value.indexOf(i) === -1) {
                res.push(1);
            } else {
                res.push(0);
            }
        }
        console.log(res);
        result += Math.max((res[2] && res[3] && res[4] && res[5]) + (res[6] && res[7] && res[8] && res[9]), 
                            (res[4] && res[5] && res[6] && res[7]));
    });
    ///剩下未安排座位的
    result += (n - seatsMap.size) * 2;
    return result;
    
};
console.log(maxNumberOfFamilies(3, [[1,2],[1,3],[1,8],[2,6],[3,1],[3,10]]));